gen-consecutive number operation symbol-pattern &optional how seed
This function enables the generation of a sequence of consecutive variants as the result of an operation being carried out on a single master symbol-pattern. It is one of a pair of functions enabling evolving and consecutive proecessing or generation.
(gen-evolve 3 '(gen-random nil 8 x) '(a b c d e f g h) :list 0.12)
--> ((a b c d e f g h) (d a c g a d c c) (a a c g c d c d)
(a a a c a c d a))
(gen-consecutive 3 '(gen-random nil 8 x)
'(a b c d e f g h) :list 0.12)
--> ((a b c d e f g h) (d a c g a d c c) (e b c d g f c a)
(b a b g a e f a))
The operation can be any function expression with or without a parameter. The list must be quoted and the parameter x MUST be used to represent the symbol-pattern.
If the keyword :list is used the consecutive generations are contained in separate lists. If omited, as above, they are appended.
(gen-consecutive 3 '(change-order nil x)
'(a b c d e f g) 0.13)
--> (a b c d e f g e b c d a f g f b c d e a g a b c f e d g)
Where randomization in an operation is necessary but the output needs to be recalled an optional random seed can be set.